hihi,我是歐娜😺
昨天分享到 Prompt Injection、Jailbreak、幻覺,講這講著好像容易會有一種感覺:
AI Security 好像就是在保護 LLM?
但其實不是!
今天想先把鏡頭拉遠一點~
因為一個真正的 AI Applicetion,通常不會只有一個模型。
假設我們今天做了一個公司內部的 AI 助理。
使用者問:
幫我整理這個月的客戶問題,順便找出最常被抱怨的功能。
背後可能會經過:
使用者
↓
前端 / API
↓
Prompt
↓
LLM
↓
RAG / 公司文件
↓
Vector Database
↓
Tool / Agent
↓
內部 API / Database
有發現嗎?模型只是中間其中一層。
真正的 AI 系統,前後可能還接著資料庫、文件、API、搜尋系統,甚至是讓 Agent 直接幫你執行動作。
所以風險當然也不會只發生在模型身上!
例如最前面的使用者輸入,就可能遇到前幾天講的 Prompt Injection。
如果系統有 RAG,問題可能變成:
AI 到底有沒有權限讀這份文件?
如果 Vector Database 裡混進了錯誤或惡意資料,模型拿到的 context 一開始可能就是有問題的。
再往後,如果今天有個 Agent 可以呼叫:
sendEmail()
deleteUser()
queryDatabase()
createOrder()
事情就又不一樣了。
這時候真正要擔心的已經不只是:
AI 會不會回答錯?
而是
AI 回答錯之後,會不會真的去做什麼?
假設模型判斷錯一次,只是回了一段奇怪的文字,影響可能還有限。
但如果它手上同時有刪除資料、寄信、操作公司系統的權限,那同一次錯誤的後果就可能完全不同。
所以我現在會把 AI Security 想成:
不是在模型外面加一道防護就結束,而是要看整條 AI Application 的資料怎麼流、權限怎麼給。
可能要保護的包含:
說到這裡就會發現:
AI Security 其實還是會碰到很多熟悉的資安問題。
像是權限控管、資料外洩、Supply Chain、輸入輸出驗證......
只是現在中間多了一個會「理解自然語言、做判斷,甚至決定下一步要做什麼」的模型。
也因此,整個攻擊面跟以前相比又更大了一圈。
我開始找相關資料的時候就覺得,AI 系統這麼多層,每一層都有可能出事,到底該從哪裡開始?一堆風險、名詞,而且很多又互相有關係......
所以我打算直接借一張已經整理好的地圖:
從明天開始,我打算先一條一條深入了解目前 LLM Application 最常被拿出來討論的安全風險分別有哪些。
在正式進入這 Top 10 之前,今天只需要一起記得一件事就好:
AI Security 要保護的,從來不只是一顆模型,而是模型所在的整個系統!